/**
 * Project Name:fire-industry-DM-center
 * File Name:IDmImProjectService.java
 * Package Name:com.firestone.service.patent
 * Date:2018年4月17日上午9:18:04
 *
*/

package com.firestone.service.patent;

import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.Future;

import org.springframework.data.elasticsearch.core.query.SearchQuery;

import com.firestone.bean.entity.elasticsearch.im.DmImProjectStatic;

/**
 * @Description: TODO(专利业务层)
 * @author CAIYJ
 * @date 2018年4月17日 上午9:18:04
 */
public interface IPatentService {

    /**
     * @Description: TODO(专利推送给产业地图)
     * @param searchQuery
     * @param mapIds
     * @return
     * @throws Exception
     * @author CAIYJ
     * @date 2018年4月16日 下午1:25:10
     * @lastModifier CAIYJ
     */
    void push(SearchQuery searchQuery, Long... mapIds) throws Exception;

    /**
     * @Description: TODO(专利从产业地图拉下线)
     * @param searchQuery
     * @param mapIds
     * @return
     * @throws Exception
     * @author CAIYJ
     * @date 2018年4月16日 下午1:25:10
     * @lastModifier CAIYJ
     */
    void pull(SearchQuery searchQuery, Long... mapIds) throws Exception;

    /**
     * @Description: TODO(企业专利数量统计)
     * @param list
     * @param ids
     * @throws Exception
     * @author CAIYJ
     * @date 2018年4月17日 下午2:54:26
     * @lastModifier CAIYJ
     */
    Future<Map<String, Long>> projectPatentNum(List<DmImProjectStatic> list, Set<String> ids)
            throws Exception;
}
